Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
wordwrapjs
Advanced tools
The wordwrapjs package is a utility for wrapping words into a specified width. It's useful for formatting text output in command-line applications or anywhere where you need to control the flow of text to fit within certain boundaries.
Hard Wrapping
Hard wrapping ensures that the text is wrapped strictly at the specified width, even if it means breaking words apart.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20});
console.log(wrappedText);
Soft Wrapping
Soft wrapping wraps text at the specified width but without breaking words. It moves the whole word to the next line if it doesn't fit.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: false});
console.log(wrappedText);
Custom Break Character
This feature allows specifying a custom break character for wrapping, which can be useful for adding hyphens or other characters when a word is split.
const wordwrap = require('wordwrapjs');
let wrappedText = wordwrap.wrap('Some long text that needs to be wrapped', {width: 20, break: true, cut: true});
console.log(wrappedText);
The 'word-wrap' package provides similar functionality to 'wordwrapjs' with a focus on wrapping plain text with indentation, prefix, and cut options. It's a simple and lightweight solution for text wrapping needs.
The 'wrap-ansi' package is designed to wrap text with ANSI escape codes, which is useful for colored CLI text. It handles wrapping text containing ANSI escape codes without breaking the color sequences.
Word wrapping, with a few features.
Example
Wrap some sick bars in a 20 character column.
> wrap = require("wordwrapjs")
> bars = "I'm rapping. I'm rapping. I'm rap rap rapping. I'm rap rap rap rap rappity rapping."
> result = wrap(bars, { width: 20 })
result
now looks like this:
I'm rapping. I'm
rapping. I'm rap rap
rapping. I'm rap rap
rap rap rappity
rapping.
By default, long words will not break. Unless you insist.
> url = "https://github.com/75lb/wordwrapjs"
> wrap.lines(url, { width: 18 })
[ 'https://github.com/75lb/wordwrapjs' ]
> wrap.lines(url, { width: 18, break: true })
[ 'https://github.com', '/75lb/wordwrapjs' ]
string
⏏
Array
boolean
Array.<string>
string
⏏Kind: Exported function
Param | Type | Default | Description |
---|---|---|---|
text | string | the input text to wrap | |
[options] | object | optional config | |
[options.width] | number | 30 | the max column width in characters |
[options.ignore] | RegExp | Array.<RegExp> | one or more patterns to be ignored when sizing the newly wrapped lines. For example ignore: /\u001b.*?m/g will ignore unprintable ansi escape sequences. | |
[options.break] | boolean | if true, words exceeding the specified width will be forcefully broken | |
[options.eol] | string | "os.EOL" | the desired new line character to use, defaults to os.EOL. |
Array
returns the wrapped output as an array of lines, rather than a single string
Kind: static method of wrap
Param | Type | Description |
---|---|---|
text | string | the input text to wrap |
[options] | object | same options as wrap |
Example
> bars = "I'm rapping. I'm rapping. I'm rap rap rapping. I'm rap rap rap rap rappity rapping."
> wrap.lines(bars)
[ "I'm rapping. I'm rapping. I'm",
"rap rap rapping. I'm rap rap",
"rap rap rappity rapping." ]
boolean
Returns true if the input text is wrappable
Kind: static method of wrap
Param | Type | Description |
---|---|---|
text | string | input text |
Array.<string>
Splits the input text returning an array of words
Kind: static method of wrap
Param | Type | Description |
---|---|---|
text | string | input text |
© 2015 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.
FAQs
Word-wrapping for javascript.
We found that wordwrapjs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.